Enhanced document services

ABSTRACT

A document lens service identifies a document profile specific to an end-user that is indicative of a model document for the end-user. When a productivity document is opened to be consumed by the end-user in a user interface to a productivity application, the service modifies the productivity document based at least on the document profile to align the productivity document with the model document. The productivity document is then rendered as-modified in the user interface.

RELATED APPLICATIONS

This application claims priority to U.S. Patent Application No.62/212,294, filed on Aug. 31, 2015, and entitled “Enhanced DocumentServices,” which is hereby incorporated by reference in its entirety.

TECHNICAL BACKGROUND

Producing an effective electronic document is a challenging task foreven the most gifted writer. A variety of software tools have existedfor a long time that may increase an author's productivity while alsoimproving the aesthetics of a document, such as spell-checking andtemplate tools. But no matter how well intended an author may be, manyscenarios exist where a resulting document is passed over, skimmed, orotherwise fails to have an impact on the end-user consuming it.

In many cases, a document may lack impact due to having characteristicsthat are inconsistent with the preferences and limitations of theend-user consumer. For example, a word processing document written in asemantically complex manner in one language may be difficult for anend-user to consume whose primary language is not the same. In anotherexample, the font, spacing, and other layout characteristics of adocument may make it difficult to consume for a dyslexic end-user.

From amore technical perspective, computing and communication resourcesare wasted when ineffective documents are produced. Emails that someonetook time (and processing resources) to produce are deleted, attachmentsare ignored, and storage space and bandwidth is consumed in themeantime. In the aggregate, less-than-effective electronic documentsstrain both the productive capacity of humans and technology alike, andfrom both the authoring and consuming perspectives of documentproduction and consumption.

OVERVIEW

Enhanced document services technology is disclosed herein improves theproductive capacity of end-users and computing resources alike, in thecontext of authoring and consuming electronic documents. In animplementation, a document lens service identifies an end-user targetedto consume a productivity document being authored in a user interface toa productivity application. The service then also identifies a documentprofile specific to the end-user indicative of a model document for theend-user to consume. While the productivity document is being authored,suggestions may be surfaced in the user interface for aligning theproductivity document with the model document.

In another implementation, the document lens service identifies adocument profile specific to an end-user that is indicative of a modeldocument for the end-user. When a productivity document is opened to beconsumed by the end-user in a user interface to a productivityapplication, the service modifies the productivity document based atleast on the document profile to align the productivity document withthe model document. The productivity document is then renderedas-modified in the user interface.

This Overview is provided to introduce a selection of concepts in asimplified form that are further described below in the TechnicalDisclosure. It may be understood that this Overview is not intended toidentify key features or essential features of the claimed subjectmatter, nor is it intended to be used to limit the scope of the claimedsubject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the disclosure can be better understood with referenceto the following drawings. While several implementations are describedin connection with these drawings, the disclosure is not limited to theimplementations disclosed herein. On the contrary, the intent is tocover alternatives, modifications, and equivalents.

FIG. 1 illustrates an operational scenario in an implementation ofenhanced document services.

FIG. 2 illustrates another operational scenario in an implementation ofenhanced document services.

FIG. 3 illustrates a document lens process in an implementation.

FIG. 4 illustrates an operational architecture in an implementation.

FIG. 5 illustrates an operational sequence in an implementation.

FIG. 6 illustrates another operational sequence in an implementation.

FIG. 7 illustrates another operational sequence in an implementation.

FIG. 8 illustrates a set of document views in an implementation.

FIG. 9 illustrates a computing system suitable for implementing theenhanced document services technology disclosed herein, including any ofthe architectures, elements, processes, and operational scenarios andsequences illustrated in the Figures and discussed below in theTechnical Disclosure.

TECHNICAL DISCLOSURE

Technology is disclosed herein for enhancing the document production andconsumption experience. An enhanced document service provides thecapability to modify word processing documents, emails, and othercontent on-the-fly so that their presentation is more effective form thestandpoint of the consumer. Technical effects that may be realizedinclude the increased utilization of computing and communicationresources as documents that are produced are more likely to be read,forwarded, commented, and otherwise consumed. Authoring an effectivedocument may take less time when the author is guided by a lens profileand the consumption experience may be improved when assisted by a lens.

FIG. 1 illustrates an operational scenario 100 in an implementation ofenhanced document services. Operational scenario 100 involves lensservice 101 and lens profile 103. Lens service 101 is representative ofan enhanced document service that applies lens profile 103 to document105, to produce document 115. Document 115 is representative of anenhanced document.

Lens service 101 is representative of any software service capable ofemploying document lens process 300. Lens service 101 may be integratedwith another service or services (such as productivity, email, or othersoftware services) or may he implemented as a stand-alone service. Insome scenarios lens service 101 may be integrated in the context of alocal application, either as an integrated component of the applicationor as an add-on to the application. Lens service 101 may be implementedon any suitable computing system or systems, of which computing system901 in FIG. 9 is representative.

Document 105 is representative of any document capable of beingprocessed by lens service 101 in the context of authoring orconsumption. Examples of document 105 include, but are not limited to,word processing documents, spreadsheets, presentation documents, emails,blog posts, and micro-blog posts. Document 115 represents a modifiedversion of document 105 that is produced by lens service 101 whenemploying document lens process 300.

Referring parenthetically to the steps illustrated in FIG. 3, inoperation lens service 101 identifies a lens profile 103 specific to auser (step 301). The user may be a user targeted for consumption ofdocument 105. The user may be identified by examining a list ofrecipients in an email or a list of users that share access to document105, for example. In other scenarios the user may be identified byvirtue of being the person to open document 105. Having identified theuser, a lens profile specific to the user is retrieved from a lensdatabase or other suitable data store.

The lens profile may comprise data descriptive of content consumptioncharacteristics for the user. For example, the data may describepreferred layouts, fonts, or styles associated with the user's profile.In other examples, the profile may link to a general profile that theuser is associated with and has adopted as their own. The generalprofile may then describe such content characteristics.

Next, lens service 101 applies lens profile 103 to document 105 toproduce a modified version of document 105, represented by document 115(step 303). Lens service 101 modifies document 105 based on thepreferred content characteristics identified in lens profile 103 or byan associated general profile. The profiles may include explicit rulesfor lens service 101 to follow when modifying a document. Alternatively,or in combination, the profiles may serve as input to rules embodied inlens service 101.

Document 115 may then be provided for consumption by an end-user (step305). Providing document 115 may include communicating it to a localapplication for rendering and display on a local device. In scenarioswhere lens service 101 is implemented locally, providing document 115may include rendering and displaying the document, without having todownload the document.

In some scenarios lens service 101 may he capable of providing feedbackto the authoring process with respect to document 105. The feedback mayinclude visual hints or suggestions derived by lens service 101 based onthe lens profile 103 associated with the end-user consumption target.The authoring user may thus tailor his or her authoring of document 105to the consumption preferences of the target.

FIG. 2 illustrates another operational scenario 200 in animplementation. Operational scenario 200 involves lens service 201 andlens profiles 202, 203, and 204. Lens service 101 may apply lensprofiles to document 205, to produce multiple variations of the documentrepresented by document 212, document 213, and document 214.

Lens service 201 is representative of any software service capable ofemploying document lens process 300. Lens service 201 may be integratedwith another service or services such as productivity, email, or othersoftware services) or may be implemented as a stand-alone service. Insome scenarios lens service 201 may be integrated in the context of alocal application, either as an integrated component of the applicationor as an add-on to the application. Lens service 201 may be implementedon any suitable computing system or systems, of which computing system901 in FIG. 9 is representative.

Document 205 is representative of any document that is capable of beingprocessed by lens service 101 in the context of authoring orconsumption. Examples of document 205 include, but are not limited to,word processing documents, spreadsheets, presentation documents, mails,blog posts, and micro-blog posts. As mentioned, documents 212, 213, and214 represent modified versions of document 205 that are produced bylens service 201 when employing document lens process 300.

Referring again to the steps illustrated in FIG. 3, in operation lensservice 201 identifies a lens profile specific to each user in a groupof users (step 301). The users may be targeted for consumption ofdocument 205, such as recipients of an email, users in a shared documentgroup, or simply multiple users each individually opening a document.Having identified the users, a lens profile specific to each user isretrieved from a lens database or other suitable data store. In thisscenario, it is assumed for exemplary purposes that each user has adifferent lens, although users may share common lens profiles orcoincidentally have similar lens profiles.

Next, lens service 201 applies lens profiles 202, 203, and 204 todocument 205 to produce modified versions of document 205, representedby documents 212, 213, and 214 (step 303). Lens service 201 modifies thedocument based on the preferred content characteristics identified inthe lens profiles or by an associated general profile. Documents 212,213, and 215 may then be provided for consumption by various end-users(step 305).

FIG. 4 illustrates an operational architecture 400 suitable forimplementing the enhanced document services contemplated herein, such aslens service 101. Operational architecture 400 includes computing system401, computing system 411, and computing system 421, which hostapplication 403, application 413, and application 423 respectively.Computing system 431 hosts online service 433, while computing system441 hosts lens service 445. Lens service client 405, lens service client415, and lens service client 415, running within the context ofapplications 403, 413, and 423 respectively, interface with lens service445 to provide enhanced document services. Applications 403, 413, and423 may communicate with one or more of online service 433 and lensservice 445 over communication network 410.

Computing systems 401, 411, and 421 are each representative of anyphysical or virtual computing resource, or combination thereof, suitablefor executing applications 403, 413, and 423, of which computing system901 in FIG. 9 is representative. Example computing systems include, butare not limited to, desktop computers, laptop computers, tabletcomputers, mobile phones, phablet devices, wearable devices, virtualmachines, and containers, as well as any variation, combination, orcollection thereof.

Applications 403, 413, and 423 are each representative of any softwareapplication executed on computing system 401, 411, and 421, and throughwhich an end-user may author or consumer electronic documents or othertypes of content (e.g. video content and voice communications). Examplesinclude, but are not limited to, word processing applications,spreadsheet applications, presentation applications, email applications,web browsers, line-of-business applications, and any other productivityapplications, personal information management applications, or variationand combination thereof. Some commercial examples include, but are notlimited to, Microsoft® Word, Excel®, PowerPoint®, and Outlook®, as wellas the Google Docs™ and iWork® suites.

Applications 403, 413, and 423 may each be a locally installed andexecuted (native) application, a desktop application, a mobileapplication, a streamed (or streaming) application, a web-basedapplication that is executed in the context of a web-browser, a programimplemented in the context of an abstract computing machine, or anyother application or collection thereof capable of supporting electronicdocuments. Applications 403, 413, and 423 are implemented in programinstructions that comprise various software modules, components, andother elements of the application, including lens service clients 405,415, and 425 respectively. However, one or more of lens service clients405, 415, and 425 may be implemented as stand-alone clients in someimplementations, or integrated with another application or operatingsystem component in other implementations. In some implementations, oneor more of lens service clients 405, 415, and 425 may be a downloadableplug-in program or a downloadable add-in program.

In operation, end-users 402, 412, and 424 engage with applications 403,413, and 423 respectively, to create, edit, and/or consume electronicdocuments. The end-users may engage with the applications via userinterface software and user interface systems supported by computingsystems 401, 411, and 421.

The applications 403, 413, and 423 may interface with online service 433over the course of a user session. For example, an email application maycommunicate with an email service; a productivity application maycommunicate with a file storage service; and a media player maycommunicate with an online video service.

Lens service clients 405, 415, and 425 may drive applications 403, 413,and 423 to communicate with lens service 445 during a user session. Forexample, a client may communicate with lens service 445 while anend-user acts as an author with respect to a document (e.g. creating,editing). The client may also communicate with online service 433 tohandle a document (e.g. open, store, send, or receive). In addition,lens service 445 and online service 433 may communicate with each otherto facilitate enhanced document services in some implementations.

Lens service 445 hosts and maintains lens database 447. Lens database447 is representative of a database or databases that store lensprofiles associated with end-users. The profiles may be utilized by lensservice 445 to generate recommendations and suggestions for an end-userauthoring a document and/or to generate modified documents for end-usersconsuming a document. Lens service 445 may update the lens profiles aswell based on user/group characteristics, behavior, and preferences.

FIG. 5 illustrates operational scenario 500 with respect to operationalarchitecture 400. In this example scenario, end-user 402 acts as anauthor with respect to an electronic document, while end-users 412 and422 act as consumers of the document. End-user 402 authors the document(e.g. create and/or edit the document) via application 403. Application403 provides the document to online service 433, from which it isdistributed to applications 413 and 423. In an example where it isassumed that online service 433 is a storage service, online service 433may store the original document, from which it is retrieved byapplications 413 and 423. In an email example, online service 433 mightsend the document in the context of send and receive operations withapplications 413 and 423.

Upon receiving the document in its original form (as authored byend-user 402), application 413 communicates a service request to lensservice 445 to apply oleo profile to the document Lens service 445retrieves the appropriate lens profile for end-user 412 from lensdatabase 447 and applies the profile to the original document.

The document is analyzed in view of the profile to identify ways inwhich it differs from a model document for end-user 412. At least one ormore of the differences may be manifested in ways that can be modifiedby lens service 445. Accordingly, lens service 445 produces a modifiedversion of the document that is more aligned with the model document forend-user 412. than the document in its original state.

Modifying the document might entail changing the same instance of thedocument provided to lens service 445 by application 413. However, lensservice 445 might alternatively make a copy of the document in order tomodify the copy, rather than the original instance. In someimplementations, lens service 445 might not modify the document at all,but might rather provide instructions, meta data, or other suchinformation to application 413, allowing application 413 to modify thedocument.

Application 413 receives the modified document (or information withwhich to modify the document) and renders a view of the modifieddocument in its user interface. For example, the document may beincluded in a document view rendered by a productivity application or inan email view rendered by an email application. End-user 412 may thusmore readily consume the document, as it appears closer to his or hermodel document.

A similar process is carried out with respect to end-user 422. When theoriginal document is retrieved by application 423 from online service433, application 423 initiates a service request to lens service 445.Lens service 445 retrieves the appropriate lens profile for end-user 422from lens database 447 and applies the profile to the original document.The document is analyzed in view of the profile to identify ways inwhich it differs from a model document for end-user 422. Lens service445 then produces a modified version of the document that is morealigned with the model document for end-user 422 than the document inits original state. As mentioned, modifying the document might entailchanging the actual document, modifying a copy of the document, orcommunicating information to the client application indicative of whatchanges to make.

Application 423 receives the modified document (or information withwhich to modify the document) and renders a view of the modifieddocument in its user interface, providing end-user 412 a document moreclosely aligned with his or her model document.

FIG. 6 illustrates operational scenario 600 with respect to operationalarchitecture 400, which differs from operational scenario 500 in atleast one aspect. In operational scenario 500, applications 413 and 423initiate service requests to modify an original document in view ofspecific lens profiles. In operational scenario 600, online service 433initiates the service requests.

End-user 402 in acts as an author with respect to an electronicdocument, while end-users 412 and 422 act as consumers of the document.End-user 402 authors the document (e.g. create and/or edit the document)via application 403 and application 403 provides the document to onlineservice 433. For example, application 403 may store the originaldocument in online service 433. In another example, application 403 mayupload the original document to online service 433 in the context ofsend/receive operations for email.

Upon receiving the document in its original form (as authored byend-user 402), online service 433 initiates a first service request tolens service 445 to apply a lens profile to the document. Lens service445 retrieves the appropriate lens profile for end-user 412 from lensdatabase 447 and applies the profile to the original document. Onlineservice 433 then provides the modified document to application 413 andapplication 413 renders a view of the modified document in a userinterface for end-user 412 to consume.

Online service 433 also initiates a second service request to lensservice 445 to apply a different lens profile the document. Lens service445 retrieves the appropriate lens profile for end-user 422 from lensdatabase 447 and applies the profile to the original document, as it didfor end-user 412. The modified document is returned to online service433, which communicates it to application 423. Application 423 is ableto present the modified document in its user interface for end-user 422to consume.

FIG. 7 illustrates another operational scenario (operational scenario700) with respect to operational architecture 400. In this scenario,end-user 402 receives feedback and suggestions when authoring adocument.

To begin, end-user 402 opens, edits, and otherwise creates content inthe form of a word processing document, email, or other such workproduct. While working on the document, application 403 (driven by lensservice client 405) communicates a service request to lens service 445.The service request identifies at least one end-user who may he a targetconsumer for the document, such as an email recipient, a collaborativemember of a group, or some other type of consumer.

Lens service 445 receives the service request and responsively looks-upand applies an appropriate lens for the target consumer. In thisexample, it is assumed that one of the target consumers is end-user 412.The lens profile that lens service 445 retrieves for end-user 412 isrepresented by the symbol x-prime, to denote that it is a different lensthan the lens applied in operational scenario 500 and operationalscenario 600. For example, the lens x-prime may be a public lens,whereas the lenses in operational scenarios 500 and 600 may beconsidered private lenses.

Next, lens service 445 applies the selected lens profile to the originaldocument being produced by application 403. Lens service 445 analyzesthe content in view of model document information represented in thelens profile for end-user 412. Differences between the document in itscurrent form and characteristics of a model document expressed in thelens profile may be present, in which case lens service 445 can identifysolutions for bringing the current document into greater alignment withthe model document for end-user 412. The solutions may be communicatedto application 403, to be presented in a user interface as suggestionsfor modifying the document. End-user 402 may thus consider thesuggestions for incorporating into his or her document, potentiallyincreasing the likelihood that end-user 412 consumes and appreciates thedocument.

A similar process occurs with respect to other end-users associated withthe document, e.g. end-user 422. Application 403 communicates anotherservice request to lens service 445 to obtain suggestions relevant toend-user 422. Lens service 445 retrieves and applies a public lensrelevant to end-user 422 to arrive at suggested modifications to thedocument (represented by y-prime). The suggestions are communicated backto application 403, which can then surface them in a user interface toend-user 402. End-user 402 may consider the suggestions and, ifimplemented, may alter the document to an extent that it becomes morelikely that end-user 422 will consumer and appreciate the document.

While two separate service requests are illustrated in FIG. 7, it may beappreciated that a single service request could be initiated byapplication 403 to obtain suggestions for both targeted consumers. Forexample, a single service request could identify both end-users, suchthat lens service 445 could retrieve and apply both lens profiles beforereturning suggested modifications to application 403. In anotheralternative, application 403 could wait until it receive replies to bothservice requests before surfacing any modifications for consideration byend-user 402.

FIG. 8 illustrates an example scenario 800 in which a set of documentview are provided in an implementation. The document views arerepresentative of an original document and how it might be modified by adocument lens service. Example scenario 800 involves at least view 801,view 821, and view 841.

View 801 represents a document from an authoring perspective asexperienced in a word processing application. View 821 represents thesame document, but from a consumer's perspective. View 841 alsorepresents the document from a consumer's perspective.

View 801 includes a background 803 over which a document canvas 805 isrendered. Text 807 is layered over document canvas 805, although othertypes of content may be included in addition to or in place of text.View 801 also includes a feature menu 809 in which various menu options,features, or other such elements may be displayed, represented by menuelements 811, 812, 813, 814, 815, 816, and 817.

View 801 represents the view of a document as experienced by an authoras he or she edits the document. In accordance with the implementationsdiscussed above, the document can be modified based on an end-user'slens profile to better suit their consumption preferences and needs.Thus, view 821 and 841 differ substantially from view 801.

In view 821, the document is again rendered on a document canvas 825over a background 823. View 821 includes a feature menu 829 with variousmenu options 831, 832, 833, 834, 835, 836, and 837. The content renderedon the document canvas 825 includes text 827 and a graphic 828. The text827 differs from text 807 in view 801 and is representative of amodification that may be made to suit a lens profile. That is, text 807was analyzed by the document lens service and modified to a bullet-listformat preferred by the end-user and is also presented in a differentfont. Graphic 829 was added to bring the document into greater alignmentwith a profile.

View 841 provides additional examples of how a document might bemodified by a document lens service. View 841 includes a background 843over which document canvas 845 is displayed. View 841 also includes afeature menu 849 with various menu options 851, 852, 853, 854, 855, 856,and 857.

Document canvas 845 includes text 847. Text 847 is rendered in adifferent font relative to text 807. The font is larger and has greaterspacing relative to text 807, thus making it easier for a given end-userto consume. The font may be a preferred font selected by the end-user orobserved over time by the document lens service. The lens service canautomatically change fonts to make them easier for the end-user toconsume.

Further aspects of enhanced document services may be appreciated fromthe following exemplary discussion. An enhanced document service ascontemplated herein helps authors to maximize the impact of theirdocuments by enabling intended audiences to efficiently unlock theinformation in a manner that is tailored to their specific backgrounds,skills and abilities.

Through machine learning, an enhanced document service may enable usersto communicate across style, language and cognitive barriers. A documentlens service may provide ‘lenses’ through which documents can be viewed.Lenses can be tailored to non-native speakers, readers with dyslexia oraudiences that are foreign to the author in other ways. The documentlens service may help Office® bridge the gaps between authors andconsumers of Office® documents at scale.

Documents convey meaning through a set of semantic rules, figures andpictures. The goal of an author is to convey a message with the maximumimpact on the receiver of a document, generating the intended effect onthem. Documents may be about driving greater understanding, elicitingchange, generating action, or simply about informing or bringing acertain point of view across. All of these goals revolve around therecipient of the document, so in order to create the greatest impact adocument needs to ‘get through’ and be tailored to the audience.

Connecting with the audience is quite a challenge even in situationswhere the audience of a document has a similar profile to that of theauthor, but such an idealized situation seldom occurs in real life. Realworld situations tend to be trickier, and audiences can often havewidely divergent backgrounds and expectations. This divergence might bea result of a large and diverse audience with varying cognitive styles,or a mismatch in subject matter expertise between the author andrecipients. Language could be a barrier where the writer or recipientsare second language speakers. Lastly, there may be a barrier presentedby cognitive and learning disabilities on part of the author orrecipient, which make it harder for individuals to process writtenlanguage. These barriers can only be overcome by understanding theindividual recipients of documents, which can be very difficult atauthoring time.

An intelligent document service as contemplated herein herein may allowany audience of productivity documents to unlock the information encodedin documents they receive in an optimal way to create the highest impactpossible. It may also help authors to specifically target audiences. Theservice may implement an extensible set of services that act ondocuments stored in the cloud across verticals like college essays,project proposals, business correspondence, job applications, statementsof work, professional looking presentations, contracts etc., and acrossspecific users or user groups. This can include customers, a potentialemployer, a manager, a child, an ESL reader, or a dyslexic reader.

Consumers of documents may be able to self-identify and to look at adocument through their own lens. Lenses may be combined to lead to evenhigher customization. Lenses are not limited to semantics, but caninclude high contrast, special fonts, and special font sizes etc. Likelenses on contact lenses, document lenses are not visible to others andmay be tailored to the wearer. This allows any user to self-identifywithout disclosing any facts about themselves or disclosing theirpreferences to others. Second language users for example may often havea much smaller vocabulary than native speakers of a language. Withoutdisclosing that potentially embarrassing fact, an ESL user may simplyapply a reduced vocabulary lens and quickly comprehend a documentauthored by a native speaker, thus increasing the impact of thedocument.

Examples for lenses include customizing the stylistic content of adocument, such as the wording, ordering of sections, paragraph length,word choice, and grammar to best suit the preferences of the reader.

Graph analytics and other signals technology within various applicationservices (Office 365) may be leveraged in coordination with userself-identification to identify, build, and improve lenses. From theOffice Graph, as well as signals from within the Office Applications, alens service can infer much about how any user consumes information.From there, the service can make targeted optimizations to any givendocument.

For example, Person A is a manager, and prefers the executive summaryfirst, with more direct verbiage and less fluff Person B is an IC for aparticular area, thus the service may alter a document to go intodetails and depth on their area, but to only provide high-levelsummaries for other portions of the document. Person C is a visuallearner—the service shows related slide decks and images alongside theexecutive summary, before the rest of the document.

Improving the accessibility of a document is another area improved uponthe service. The service may display the right formatting for the rightscreen or optimized for any reading impediments (improved line-spacing,font sizes, and word choice for someone with dyslexia; inlinedefinitions for expanded vocabulary terms for an ESL person).

Language is of course the primary medium for communicating ideas withina document, and as such can be a critical barrier. between author andreader. Today's ‘static’ documents place the burden of understanding theaudience's language skills entirely on the author at the time ofwriting. This may often force authors to attempt a one-size-fits-alleven when that's impractical. An aim of the service disclosed herein isto build document lenses that allow the language in the document todynamically tailor itself to the language skills of the recipient. A fewexamples follow of how these lenses can cut down language barriers.

Identify when a specific recipient of a document is an ESL (i.e. alearner of English as a Second Language) user. In this case, theservice's ‘ESL’ lens could map ‘difficult’ words and phrases in thedocument to their limited-vocabulary counterparts. The lens may evenrewrite specific passages to convey their meaning using simplerphraseology, thus making the document more efficiently readable by therecipient. Identify when the recipient is a ‘beginner’ in terms ofsubject matter expertise. In such a scenario, the suitable service lensmay try to eliminate specific terminology that is unintelligible to alayperson, and instead replace with the corresponding definitions from aglossary.

The following are use cases to better illustrate various aspects of thedocument services disclosed herein.

Kat, a young professional, has been asked to produce her first annualsales report since she joined her firm. The report is to be circulatedto most of her extended team including senior management, and she wantsto make sure she makes a great impression.

Word® has always been her favored authoring tool, and now Kat relies onWord® as her guide to authoring great content in accordance with theconventions at her firm. To get her going, Word® asks her to brieflydescribe what she is writing about, and who her intended audience maybe. As she describes her target audience for Word®, she is given theoption to customize the expectations of each segment of her audience(e.g. executive summaries for management, primary source data for peers,simple English for her audience in the Tokyo office, etc.). This steptakes her less than a minute thanks to Word's smart defaults, and she ison her way.

To get Kat going, Word® begins by presenting Kat with a set of similarreports authored by others on her team. Once Kat has picked a favorite,Word® allows her to easily jump over the ‘cold start hump’ by importingthe high-level structure of the document. Kat is able to make some minorchanges to update the structure to reflect her own requirements. Inunder 5 minutes since she started. Kat now has a skeleton for herdocument.

Now, Kat notices that Word® is able to give her a real-time scorecard ofhow her document is coming across to her target audience, as well as achecklist of steps she needs to follow to get it ready for circulation.There isn't very much content in the document yet, but she realizesright away that she is missing an Executive Summary section. She addsit, and the first checkbox is ticked (progress!).

As she types, Kat sees a recommendations experience, as well as areal-time report on how their document reads. Through the process, Word®is playing back to them exactly how well their content is coming across,and what they can change in the document in order to achieve greaterimpact.

Once done with her major edits, Kat can now do a full pass over hedocument and respond to the critiques from Word®. She ends up reflowingsome of their content into bulleted lists, as well as enriching thecontent with more data and connections (need to figure out exactly how).

Once Kat has published her annual report, the service now ensures thather diverse audience is able to most efficiently consume her document.Each recipient of Kat's report views the content not as a static block,but through a set of lenses that are personalized to their own style andabilities.

In another use-case, as the executive sponsor of the project, Mike ismost interested in a short executive summary and the key data pointsthat support the take home message. Once Mike loads up his custom lens,he sees a condensed version of Kat's report comprising of the executivesummary, a bulleted list of highlights, and a set of supporting data. Heis able to drill into the detailed view where he needs to, and is in andout of the document in a matter of minutes.

In another user-case, Hideo has a working knowledge of English, butstill has a limited vocabulary, and sometimes struggles to understandcomplex sentences written by native speakers from the Chicago office.Over time however, he has come to rely on the ESL lens in Word®, whichhe immediately applies to Kat's report. The lens replaces some of themore complex words and passages in Kars document with simple Englishvocabulary, allowing Hideo to more quickly go over the document. Hefinds himself not needing the dictionary even once through the wholeprocess.

In another use-case, Ben, a peer of Kat's, suffers from mild dyslexiathat often makes reading through documents a time consuming process forhim. Once he loads up his service lens in Word®, it quickly converts thedocument into his preferred dyslexia font, making individual wordseasier to parse. It also reflows the document with customized linespacing, dramatically cutting down the amount of time it takes for himto read and understand its contents.

The service may learn from itself using algorithms that analyzebehavior. The service may also support an extensibility model that willallow third party service providers to plug in their lenses. Companiesand educational institutions may also build custom experiences. Theservice may improve at scale and with greater language coverage. DSSM inparticular may support automated and algorithmic learning. Partners maychoose to curate extremely high value verticals, an example being TEXTIO(www.textio.com) which can plug into the service to produce the perfectjob posting to attract great candidates. The service may be extremelyflexible when it comes to how vertical and horizontal lenses caninteract together, so that there will be no need to choose just onelens. Combining lenses will create a multiplicity of consumptionexperiences. Lenses will also assist the author to target the rightaudience if they choose so at authoring time.

The signals available around the usage of a document, a post or an emailcan also be leveraged to form a lens profile. Exchange®, Yammer®, andthe signals stored in the Graph can be leveraged to feedback into a lensprofile. The service may understand hierarchy in an organization, thedistribution of material, edits, tags, likes, forwards, etc. All of thissignaling can be used to judge the impact of a document and to learnfrom it.

In addition, users can have their own, proprietary ranking based ontheir own, confidential preferences. The service could learn why acertain document was rated a certain way and can apply that knowledge toother documents. Over time this will keep improving and scaling thesystem, making it exponentially better. Through new user typesself-identifying, the system will also scale out and become more broadlyapplicable.

In one example, enhanced document services can intelligently optimizeand improve the readability of documents during authoring as well asconsumption. The philosophy behind an intelligent document is that thecontent and presentation changes to match the context. A trulyintelligent document will be able to know if the current author/consumerhas a learning difficulty and make the appropriate adjustments to helpmake the content easier to understand.

For example, the document can adjust its font, line-height, and letterspacing to make it easier for individuals with dyslexia to read.Additionally, the document may be able to adjust its colors and/orbackgrounds, or remove/reformat charts, tables, and lists, to emphasizereadability and limit distractions. The service may improve readabilityacross-the-board for all customers.

FIG. 9 illustrates computing system 901 that is representative of anysystem or collection of systems in which the various applications,services, scenarios, and processes disclosed herein may be implemented.Examples of computing system 901 include, but are not limited to, servercomputers, rack servers, web servers, cloud computing platforms, anddata center equipment, as well as any other type of physical or virtualserver machine, container, and any variation or combination thereof.Other examples may include smart phones, laptop computers, tabletcomputers, desktop computers, hybrid computers, gaining machines,virtual reality devices, smart televisions, smart watches and otherwearable devices, as well as any variation or combination thereof.

Computing system 901 may be implemented as a single apparatus, system,or device or may be implemented in a distributed manner as multipleapparatuses, systems, or devices. Computing system 901 includes, but isnot limited to, processing system 902, storage system 903, software 905,communication interface system 907, and user interface system 909.Processing system 902 is operatively coupled with storage system 903,communication interface system 907, and user interface system 909.

Processing system 902 loads and executes software 905 from storagesystem 903. Software 905 includes document lens process 906, which isrepresentative of the processes discussed with respect to the precedingFIGS. 1-8, including document lens process 300. When executed byprocessing system 902 to enhance documents, software 905 directsprocessing system 902 to operate as described herein for at least thevarious processes, operational scenarios, and sequences discussed in theforegoing implementations. Computing system 901 may optionally includeadditional devices, features, or functionality not discussed forpurposes of brevity.

Referring still to FIG. 9, processing system 902 may comprise amicro-processor and other circuitry that retrieves and executes software905 from storage system 903. Processing system 902 may be implementedwithin a single processing device, but may also be distributed acrossmultiple processing devices or sub-systems that cooperate in executingprogram instructions. Examples of processing system 902 include generalpurpose central processing units, application specific processors, andlogic devices, as well as any other type of processing device,combinations, or variations thereof.

Storage system 903 may comprise any computer readable storage mediareadable by processing system 902 and capable of storing software 905.Storage system 903 may include volatile and nonvolatile, removable andnon-removable media implemented in any method or technology for storageof information, such as computer readable instructions, data structures,program modules, or other data. Examples of storage media include randomaccess memory, read only memory, magnetic disks, optical disks, flashmemory, virtual memory, and non-virtual memory, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other suitable storage media. In no case is the computer readablestorage media a propagated signal.

In addition to computer readable storage media, in some implementationsstorage system 903 may also include computer readable communicationmedia over which at least some of software 905 may be communicatedinternally or externally. Storage system 903 may be implemented as asingle storage device, but may also be implemented across multiplestorage devices or sub-systems co-located or distributed relative toeach other. Storage system 903 may comprise additional elements, such asa controller, capable of communicating with processing system 902 orpossibly other systems.

Software 905 may be implemented in program instructions and among otherfunctions may, when executed by processing system 902, direct processingsystem 902 to operate as described with respect to the variousoperational scenarios, sequences, and processes illustrated herein. Forexample, software 905 may include program instructions for implementingenhanced document services.

In particular, the program instructions may include various componentsor modules that cooperate or otherwise interact to carry out the variousprocesses and operational scenarios described herein. The variouscomponents or modules may be embodied in compiled or interpretedinstructions, or in some other variation or combination of instructions.The various components or modules may be executed in a synchronous orasynchronous manner, serially or in parallel, in a single threadedenvironment or multi-threaded, or in accordance with any other suitableexecution paradigm, variation, or combination thereof. Software 905 mayinclude additional processes, programs, or components, such as operatingsystem software, virtual machine software, or other applicationsoftware, in addition to or that include document lens process 906.Software 905 may also comprise firmware or some other form ofmachine-readable processing instructions executable by processing system902.

In general, software 905 may, when loaded into processing system 902 andexecuted, transform a suitable apparatus, system, or device (of whichcomputing system 901 is representative) overall from a general-purposecomputing system into a special-purpose computing system customized tofacilitate enhanced documents. Indeed, encoding software 905 on storagesystem 903 may transform the physical structure of storage system 903.The specific transformation of the physical structure may depend onvarious factors in different implementations of this description.Examples of such factors may include, but are not limited to, thetechnology used to implement the storage media of storage system 903 andwhether the computer-storage media are characterized as primary orsecondary storage, as well as other factors.

For example, if the computer readable storage media are implemented assemiconductor-based memory, software 905 may transform the physicalstate of the semiconductor memory when the program instructions areencoded therein, such as by transforming the state of transistors,capacitors, or other discrete circuit elements constituting thesemiconductor memory. A similar transformation may occur with respect tomagnetic or optical media. Other transformations of physical media arepossible without departing from the scope of the present description,with the foregoing examples provided only to facilitate the presentdiscussion.

Communication interface system 907 may include communication connectionsand devices that allow for communication with other computing systemsnot shown) over communication networks (not shown). Examples ofconnections and devices that together allow for inter-systemcommunication may include network interface cards, antennas, poweramplifiers, RF circuitry, transceivers, and other communicationcircuitry. The connections and devices may communicate overcommunication media to exchange communications with other computingsystems or networks of systems, such as metal, glass, air, or any othersuitable communication media. The aforementioned media, connections, anddevices are well known and need not be discussed at length here.

User interface system 909 is optional and may include a keyboard, amouse, a voice input device, a touch input device for receiving a touchgesture from a user, a motion input device for detecting non-touchgestures and other motions by a user, and other comparable input devicesand associated processing elements capable of receiving user input froma user. Output devices such as a display, speakers, haptic devices, andother types of output devices may also be included in user interfacesystem 909. In some cases, the input and output devices may be combinedin a single device, such as a display capable of displaying images andreceiving touch gestures. The aforementioned user input and outputdevices are well known in the art and need not be discussed at lengthhere.

User interface system 909 may also include associated user interfacesoftware executable by processing system 902 in support of the varioususer input and output devices discussed above. Separately or inconjunction with each other and other hardware and software elements,the user interface software and user interface devices may support agraphical user interface, a natural user interface, or any other type ofuser interface.

Communication between computing system 901 and other computing systems(not shown), may occur over a communication network or networks (e.g.communication network 410) and in accordance with various communicationprotocols, combinations of protocols, or variations thereof. Examplesinclude intranets, internets, the Internet, local area networks, widearea networks, wireless networks, wired networks, virtual networks,software defined networks, data center buses, computing backplanes, orany other type of network, combination of network, or variation thereof.The aforementioned communication networks and protocols are well knownand need not be discussed at length here. However, some communicationprotocols that may be used include, but are not limited to, the Internetprotocol (IP, IPv4, IPv6, etc.), the transfer control protocol (TCP),and the user datagram protocol (UDP), as well as any other suitablecommunication protocol, variation, or combination thereof.

In any of the aforementioned examples in which data, content, or anyother type of information is exchanged, the exchange of information mayoccur in accordance with any of a variety of protocols, including FTP(file transfer protocol), HTTP (hypertext transfer protocol), REST(representational state transfer), WebSocket, DOM (Document ObjectModel), HTML (hypertext markup language), CSS (cascading style sheets),HTML5, XML (extensible markup language), JavaScript, JSON (JavaScriptObject Notation), and AJAX (Asynchronous JavaScript and XML), as well asany other suitable protocol, variation, or combination thereof.

Certain inventive aspects may be appreciated from the foregoingdisclosure, of which the following are various examples.

Example 1. A computing apparatus comprising: one or more computerreadable storage media; a processing system operatively coupled with theone or more computer readable storage media; and program instructionsstored on the one or more computer readable storage media for providinga document lens service that, when read and executed by the processingsystem, direct the processing system to at least: identify a documentprofile specific to an end-user that is indicative of a model documentfor the end-user; when a productivity document is opened to be consumedby the end-user in a user interface to a productivity application,modify the productivity document based at least on the document profileto align the productivity document with the model document; render theproductivity document as modified in the user interface.

Example 2. The computing apparatus of Example 1 wherein the programinstructions further direct the processing system to at least: maintaina document graph comprising graph information representative of actionstaken by the end-user with respect to a plurality of documents having aplurality of characteristics; and develop the document profile for theend-user based at least in part on the graph information in the documentgraph.

Example 3. The computing apparatus of Examples 1-2 wherein to developthe document profile, the program instructions direct the processingsystem to at least: identify a subset of the plurality of documentsfavored by the end-user based on the actions taken by the end-user withrespect to the plurality of documents; identify a subset of theplurality of characteristics that the subset of the plurality ofdocuments each have in common with each other; and populate the documentprofile with the subset of the plurality of characteristics.

Example 4. The computing apparatus of Examples 1-3 wherein the programinstructions further direct the processing system to at least: performan evaluation of the productivity document against the document profileto identity deficiencies in the productivity document relative to themodel document; and identify modifications to make to the productivitydocument to align the productivity document with the model documentbased at least in part on the deficiencies.

Example 5. The computing apparatus of Examples 1-4 wherein thedeficiencies relate to actual characteristics of the productivitydocument that depart from model characteristics of the model documentexpressed in the document profile.

Example 6. The computing apparatus of Examples 1-5 wherein the modelcharacteristics comprise word choice, font selection, paragraph length,line spacing, and content organization.

Example 7. The computing apparatus of Examples 1-6 wherein themodifications comprise a modification to one or more of the word choice,the font selection, the paragraph length, the line spacing, and thecontent organization.

Example 8. The computing apparatus of Examples 1-7 wherein theproductivity document comprises one of an email, a word processingdocument, a spreadsheet workbook, and a presentation document.

Example 9: The computing apparatus of Examples 1-8 wherein the programinstructions further direct the processing system to surface a prompt inthe user interface for the end-user to self-identify with any of aplurality of document profiles.

Example 10. One or more computer readable storage media having programinstructions stored thereon that, when executed by a processing system,direct the processing system to at least: identify a document profilespecific to an end-user that is indicative of a model document for theend-user; when a productivity document is opened to be consumed by theend-user in a user interface to a productivity application, modify theproductivity document based at least on the document profile to alignthe productivity document with the model document; render theproductivity document as modified in the user interface.

Example 11. A method of operating a document lens service comprising:identifying a document profile specific to an end-user that isindicative of a model document for the end-user; when a productivitydocument is opened to be consumed by the end-user in a user interface toa productivity application, modifying the productivity document based atleast on the document profile to align the productivity document withthe model document; rendering the productivity document as modified inthe user interface.

Example 12. The method of Example 11 wherein the method furthercomprises: maintaining a document graph comprising graph informationrepresentative of actions taken by the end-user with respect to aplurality of productivity documents having a plurality ofcharacteristics; and developing the document profile for the end-userbased at least in part on the graph information in the document graph.

Example 13. The method of Examples 11-12 wherein developing the documentprofile comprises: identifying a subset of the plurality of productivitydocuments favored by the end-user based on the actions taken by theend-user with respect to the plurality of productivity documents;identifying a subset of the plurality of characteristics that the subsetof the plurality of productivity documents each have in common with eachother; and populating the document profile with the subset of theplurality of characteristics.

Example 14. The method of Examples 11-13 wherein the actions taken bythe end user with respect to the plurality of documents compriseopening, editing, forwarding, replying to, and deleting the any of theplurality of productivity documents.

Example 15. The method of Examples 11-14 further comprising: performingan evaluation of the productivity document against the document profileto identity deficiencies in the productivity document relative to themodel document; and identifying modifications to make to theproductivity document to align the productivity document with the modeldocument based at least in part on the deficiencies.

Example 16. The method of Examples 11-15 wherein the deficiencies relateto actual characteristics of the productivity document that depart frommodel characteristics of the model document expressed in the documentprofile.

Example 17. The method of Examples 11-16 wherein the modelcharacteristics comprise word choice, font selection, paragraph length,line spacing, and content organization.

Example 18. The method of Examples 11-17 wherein the modificationscomprise a modification to one or more of the word choice, the fontselection, the paragraph length, the line spacing, and the contentorganization.

Example 19. The method of Examples 11-18 wherein the productivitydocument comprises one of an email, a word processing document, aspreadsheet workbook, and a presentation document.

Example 20. The method of Examples 11-19 further comprising surfacing aprompt in the user interface for the end-user to self-identify with anyof a plurality of document profiles.

The functional block diagrams, operational scenarios and sequences, andflow diagrams provided in the Figures are representative of exemplarysystems, environments, and methodologies for performing novel aspects ofthe disclosure. While, for purposes of simplicity of explanation,methods included herein may be in the form of a functional diagram,operational scenario or sequence, or flow diagram, and may be describedas a series of acts, it is to be understood and appreciated that themethods are not limited by the order of acts, as some acts may, inaccordance therewith, occur in a different order and/or concurrentlywith other acts from that shown and described herein. For example, thoseskilled in the art will understand and appreciate that a method couldalternatively be represented as a series of interrelated states orevents, such as in a state diagram. Moreover, not all acts illustratedin a methodology may be required for a novel implementation.

The descriptions and figures included herein depict specificimplementations to teach those skilled in the ail how to make and usethe best option. For the purpose of teaching inventive principles, someconventional aspects have been simplified or omitted. Those skilled inthe art will appreciate variations from these implementations that fallwithin the scope of the invention. Those skilled in the art will alsoappreciate that the features described above can be combined in variousways to form multiple implementations. As a result, the invention is notlimited to the specific implementations described above, but only by theclaims and their equivalents.

1. A computing apparatus comprising: one or more computer readablestorage media; a processing system operatively coupled with the one ormore computer readable storage media; and program instructions stored onthe one or more computer readable storage media for providing a documentlens service that, when read and executed by the processing system,direct the processing system to at least: identify a document profilespecific to an end-user that is indicative of a model document for theend-user; when a productivity document is opened to be consumed by theend-user in a user interface to a productivity application, modify theproductivity document based at least on the document profile to alignthe productivity document with the model document; render theproductivity document as modified in the user interface.
 2. Thecomputing apparatus of claim 1 wherein the program instructions furtherdirect the processing system to at least: maintain a document graphcomprising graph information representative of actions taken by theend-user with respect to a plurality of documents having a plurality ofcharacteristics; and develop the document profile for the end-user basedat least in part on graph information in the document graph.
 3. Thecomputing apparatus of claim 2 wherein to develop the document profile,the program instructions direct the processing system to at least:identify a subset of the plurality of documents favored by the end-userbased on the actions taken by the end-user with respect to the pluralityof documents; identify a subset of the plurality of characteristics thatthe subset of the plurality of documents each have in common with eachother; and populate the document profile with the subset of theplurality of characteristics.
 4. The computing apparatus of claim 1wherein the program instructions further direct the processing system toat least: perform an evaluation of the productivity document against thedocument profile to identity deficiencies in the productivity documentrelative to the model document; and identify modifications to make tothe productivity document to align the productivity document with themodel document based at least in part on the deficiencies.
 5. Thecomputing apparatus of claim 4 wherein the deficiencies relate to actualcharacteristics of the productivity document that depart from modelcharacteristics of the model document expressed in the document profile.6. The computing apparatus of claim 5 wherein the model characteristicscomprise word choice, font selection, paragraph length, line spacing,and content organization.
 7. The computing apparatus of claim 6 whereinthe modifications comprise a modification to one or more of the wordchoice, the font selection, the paragraph length, the line spacing, andthe content organization.
 8. The computing apparatus of claim 1 whereinthe productivity document comprises one of an email, a word processingdocument, a spreadsheet workbook, and a presentation document.
 9. Thecomputing apparatus of claim 1 wherein the program instructions furtherdirect the processing system to surface a prompt in the user interfacefor the end-user to self-identify with any of a plurality of documentprofiles.
 10. One or more computer readable storage media having programinstructions stored thereon that, when executed by a processing system,direct the processing system to at least: identify a document profilespecific to an end-user that is indicative of a model document for theend-user; when a productivity document is opened to be consumed by theend-user in a user interface to a productivity application, modify theproductivity document based at least on the document profile to alignthe productivity document with the model document; render theproductivity document as modified in the user interface.
 11. A method ofoperating a document lens service comprising: identifying a documentprofile specific to an end-user that is indicative of a model documentfor the end-user; when a productivity document is opened to be consumedby the end-user in a user interface to a productivity application,modifying the productivity document based at least on the documentprofile to align the productivity document with the model document;rendering the productivity document as modified in the user interface.12. The method of claim 11 wherein the method further comprises:maintaining a document graph comprising graph information representativeof actions taken by the end-user with respect to a plurality ofproductivity documents having a plurality of characteristics; anddeveloping the document profile for the end-user based at least in parton the graph information in the document graph.
 13. The method of claim12 wherein developing the document profile comprises: identifying asubset of the plurality of productivity documents favored by theend-user based on the actions taken by the end-user with respect to theplurality of productivity documents; identifying a subset of theplurality of characteristics that the subset of the plurality ofproductivity documents each have in common with each other; andpopulating the document profile with the subset of the plurality ofcharacteristics.
 14. The method of claim 13 wherein the actions taken bythe end user with respect to the plurality of documents compriseopening, editing, forwarding, replying to, and deleting the any of theplurality of productivity documents.
 15. The method of claim 11 furthercomprising: performing an evaluation of the productivity documentagainst the document profile to identity deficiencies in theproductivity document relative to the model document; and identifyingmodifications to make to the productivity document to align theproductivity document with the model document based at least in part onthe deficiencies.
 16. The method of claim 15 wherein the deficienciesrelate to actual characteristics of the productivity document thatdepart from model characteristics of the model document expressed in thedocument profile.
 17. The method of claim 16 wherein the modelcharacteristics comprise word choice, font selection, paragraph length,line spacing, and content organization.
 18. The method of claim 17wherein the modifications comprise a modification to one or more of theword choice, the font selection, the paragraph length, the line spacing,and the content organization.
 19. The method of claim 11 wherein theproductivity document comprises one of an email, a word processingdocument, a spreadsheet workbook, and a presentation document.
 20. Themethod of claim 11 further comprising surfacing a prompt in the userinterface for the end-user to self-identify with any of a plurality ofdocument profiles.